package com.young.shop.admin.service;

import com.young.shop.pojo.entity.Goods;
import com.young.shop.pojo.entity.Page;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 商品业务处理
 */

public interface GoodsService {

	/**
	 * 获取所有的商品
	 *
	 * @return
	 */
//	List<Goods> getAllGoods();


	/**
	 * 改变商品状态（上架）
	 *
	 * @param id
	 * @return 上架成功返回商品列表，失败返回错误信息
	 */
	int checkShelvesGoods(Integer id);

	/**
	 * 改变商品状态（下架）
	 *
	 * @param id
	 * @return 下架成功返回商品列表，失败返回错误信息
	 */
	int checkSoldOutGoods(Integer id);


	/**
	 * Service层处理所有商品信息的数据给web层
	 *
	 * @return
	 */
	Page findGoods(Integer status, Integer currentPage, Integer pageSize, String type);

	/**
	 * 封装Page数据
	 *
	 * @param currentPage 当前页
	 * @param PageSize    每页显示数据
	 * @param type        商品类型
	 * @return 当前页商品数据
	 */
//	Page findPageInfo(Integer status,Integer currentPage, Integer PageSize, String type);


	/**
	 * 根据商品类型查询商品
	 *
	 * @param type 商品类型
	 * @return 商品类型列表
	 */
//	List<Goods> selectGoodsListByType(String type);


	/**
	 * 新增商品
	 *
	 * @param goods 商品对象
	 * @return 1 添加成功
	 */
	int addGoods(Goods goods);


	/**
	 * 根据状态获取商品列表
	 *
	 * @param status 1在售  0下架
	 * @return list
	 */
//	Page goodsByStatus(Integer  status,Integer currentPage,Integer pageSize);


	/**
	 * 根据状态获取商品列表11111111
	 * @param status 1 0
	 * @return
	 */
//	List<Goods> goodsByStatus1(Integer status);


	/**
	 *
	 * @param id 商品id
	 * @return 1 删除成功
	 */
	int deleteGoods(Integer id);


}
